Skip to content

Merge upstream#3

Closed
McCallisterRomer wants to merge 716 commits intoreleasefrom
master
Closed

Merge upstream#3
McCallisterRomer wants to merge 716 commits intoreleasefrom
master

Conversation

@McCallisterRomer
Copy link
Member

No description provided.

ocornut and others added 30 commits June 11, 2025 15:45
…nto our ImTextureData to keep the indirection, clear TexIsBuilt.

The idea is that a legacy backend can somehow add a if (!atlas->IsBuilt()) ImGui_ImplXXXXX_CreateFontsTexture() call _after_ Render() and some features are supported.
…takes size instead of scale as this will be needed.
# Conflicts:
#	imgui_internal.h
… to PushFont() as well.

Fonts: Fixed PopFont() recovery.

(To squash into "Added PushFontSize(), PopFontSize() api."
…yphMaxAdvanceX by scaling from ref value.

Overwriting cfg->PixelSnapH = true; in imgui_freetype is weird.
…ing custom backend per font source. Backend BakedInit/Destroy/AddGlyph process a single source.
ocornut and others added 29 commits June 30, 2025 21:04
… metrics. Actual glyphs are renderer+packed when used by drawing functions. (ocornut#8758, ocornut#8465)

(Breaking) breaks signature of ImFontLoader::FontBakedLoadGlyph, sorry.
When used with FreeType this value is passed as `face_index` which needs to be 32-bits.

# Conflicts:
#	docs/CHANGELOG.txt
…re ALLEGRO_LOCK_WRITEONLY needed all texels to be rewritten. (ocornut#8770)
…d Ellipsis glyphs. (ocornut#8763)

Only the call to ImFontAtlasBuildSetupFontLoader() is the notable change. The change in ImFontAtlasFontInitOutput() is merely to use an existing helper function.
…f on emscripten / apple / android (ocornut#8742, ocornut#8733)

We can divide platforms into two cases based on how they report screen geometry:
- Case 1: Platforms which report screen size in "physical pixels": Windows (for "Dpi aware" apps), Linux (with Wayland)
- Case 2: Platforms which report screen size in "density-independent pixels": macOS, iOS, Android, emscripten

As a consequence, there are two important things we need to know:
- FramebufferScale: The scaling factor FrameBufferSize / ScreenSize
  - In case 1, the framebuffer size is equal to the screen size and DisplayFramebufferScale=1.
  - In case 2, the framebuffer size is equal to the screen size multiplied by a factor, for example DisplayFramebufferScale=2.
- ContentScale The scaling factor for the content that we will display
  - In case 1, the content scale will often need to be > 1 (e.g., 2), because we will need to display bigger elements so that they show with a correct physical size on the screen.
  - In case 2, the content scale is equal to 1
This commit fixes ContentScale for platforms in case 2.
…entire chunks of internal widgets to create their own.
…increases RefCount. Added comments about ImTextureData::GetTexRef(). (ocornut#8789)
… no table (matching most other table getters). TableSetBgColor() uses IM_ASSERT_USER_ERROR.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.